package com.yn.front.service;

import com.yn.common.model.user.User;
import com.yn.common.request.driver.UpdatePwdRequest;
import com.yn.common.request.sc.LoginMobileRequest;
import com.yn.common.request.sc.LoginRequest;
import com.yn.common.response.sc.LoginResponse;

import javax.servlet.http.HttpServletRequest;

/**
 * 移动端登录服务类
 *
 */
public interface LoginService {

    /**
     * 账号密码登录
     * @return LoginResponse
     */
    LoginResponse login(LoginRequest loginRequest);

    /**
     * 手机号验证码登录
     */
    LoginResponse phoneLogin(LoginMobileRequest loginRequest);

    /**
     * 老绑定分销关系
     * @param user User 用户user类
     * @param spreadUid Integer 推广人id
     * @return Boolean
     */
    Boolean bindSpread(User user, Integer spreadUid);

    /**
     * 推出登录
     * @param request HttpServletRequest
     */
    void loginOut(HttpServletRequest request);

    /**
     * 修改登陆手机号
     * */
    void updatePhone(LoginMobileRequest loginRequest);

    /**
     * 修改密码
     * @param request UpdatePwdRequest 修改密码参数
     */
    void updatePwd(UpdatePwdRequest request);

    /**
     * 修改昵称
     * @param nickName String 昵称
     */
    void updateNickName(String nickName);

    /**
     * 修改头像
     * @param avatar String 头像
     */
    void updateAvatar(String avatar);
}
